package educrypt.gui.view;

import java.awt.event.ActionListener;
import java.util.List;

public interface CiphersOptionsView extends EducryptPanelView {

	public static final String CIPHER_SELECTED = "CIPHER_SELECTED";
	public static final String ALPHABET_SELECTED = "ALPHABET_SELECTED";
	public static final String KEYWORD_SELECTED = "KEYWORD_SELECTED";
	public static final String ADD_KEYWORD = "ADD_KEYWORD";
	public static final String ADD_ALPHABET = "ADD_ALPHABET";
	public static final String FILTER_TEXT = "FILTER_TEXT";
	public static final String ENCRYPT = "ENCRYPT";
	public static final String DECRYPT = "DECRYPT";

	public static final String CONTEXT_CIPHER = "CONTEXT_CIPHER";
	public static final String CONTEXT_CRYPTANALYSIS = "CONTEXT_CRYPTANALYSIS";

	public void addListener(ActionListener ctr);

	public void showCiphers(List<String> ciphers);

	public void showAlphabetsIfEnabled(List<String> alphabetNames);

	public void showAlphabets(List<String> alphabetNames);

	public void hideAlphabets();

	public void showKeywords(List<String> keywords);

	public void hideKeywords();

	public void enableFilter(boolean show);

	public void enableAction(boolean show);

	public int getSelectedCipherIndex();

	public int getSelectedAlphabetIndex();

	public String getSelectedAlphabetName();

	public void setSelectedAlphabetName(String alphabetName);

	public int getSelectedKeywordIndex();

	public void setSelectedKeyword(String keyword);

	public TextFilterView getTextFilterDialog();

}
